package com.xuecheng.manage_course.service;

import com.xuecheng.framework.domain.course.CoursePic;
import com.xuecheng.framework.domain.course.Teachplan;
import com.xuecheng.framework.domain.course.TeachplanMedia;
import com.xuecheng.framework.domain.course.ext.CourseInfo;
import com.xuecheng.framework.domain.course.ext.CourseView;
import com.xuecheng.framework.domain.course.ext.TeachplanNode;
import com.xuecheng.framework.domain.course.request.CourseListRequest;
import com.xuecheng.framework.domain.course.response.CoursePublishResult;
import com.xuecheng.framework.model.response.QueryResponseResult;
import com.xuecheng.framework.model.response.ResponseResult;

public interface CourseService {

    //课程计划查询
    TeachplanNode findTeachplanList(String courseId);

    ResponseResult addTeachplan(Teachplan teachplan);

    //向课程管理数据添加课程与图片的关联信息
    ResponseResult addCoursePic(String courseId, String pic);

    //查询课程图片
    CoursePic findCoursePic(String courseId);

    //删除课程图片
    ResponseResult deleteCoursePic(String courseId);

    //查询课程视图，包括基本信息、图片、营销、课程计划
    CourseView getCoruseView(String id);

    //课程预览
    CoursePublishResult preview(String id);

    //课程发布
    CoursePublishResult publish(String id);

    ResponseResult savemedia(TeachplanMedia teachplanMedia);

    QueryResponseResult<CourseInfo> findCourseList(String company_id, int page, int size, CourseListRequest courseListRequest);
}
